package com.qf.controller;

import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpSession;

/**
 * 演示验证码使用
 * @author 千锋健哥
 */
@Controller
@RequestMapping("/captcha")
public class CodeController {

    /**
     * 跳转到验证码演示页面
     * @return
     */
    @GetMapping("/toCaptcha")
    public String toCaptcha() {
        return "code";
    }

    /**
     * 接收页面提交的请求, 校验验证码是否正确
     * @return
     */
    @PostMapping("/test1")
    @ResponseBody
    public String checkCode(String captcha, HttpSession session) {
        //1. 判断如果用户输入的验证码为空, 返回验证码错误
        if (StringUtils.isEmpty(captcha)) {
            return "code is null";
        }
        //2. 从session中获取服务器存储的验证码
        String sessionCode = String.valueOf(session.getAttribute("captcha"));
        //3. 使用用户输入的验证码和服务器存储的验证码进行对比校验
        if (captcha.equalsIgnoreCase(sessionCode)) {
            return "success";
        }
        //4. 返回结果
        return "error";
    }
}
